package B刷题.A栈和队列;

/**
 * @author wei.zhao
 * @description: 程序员代码面试指南：可见的山峰对数量
 * @date 2022/12/9 13:42
 */
public class Code12_可见的山峰对数量 {

    /**
     * 原问题：没有重复值的数组
     * 思路：
     * 1，3与3，1其实是同一对，所以在找的时候，规定一个方向从小到大找避免重复；
     * 这样每一个元素的可见山峰其实就是最近的比他大的数，除了最大节点、第二大节点其余节点都是两个；
     * 第二大节点只有最大节点比他大，构成一对；
     * 所以答案是：2*(arr.length-2) + 1 = 2*arr.length + 3
     */
    public static int getVisibleNum(int[] arr){
       return 2*arr.length-3;
    }

    /**
     * 进阶问题：有重复值的额数组
     */
    public static int getVisibleNum2(int[] arr){
        int result=0;
        // TODO
        return result;
    }

}
